When a user is on a device that has a poor Internet connection, the connection to Pusher may occasionally be dropped. When they are not connected to Pusher any messages that were intended for them will not be delivered.
Dealing with poor Internet connectivity in your application
The Pusher client libraries expose connectivity through connection states. Your application can therefore detect any connectivity problems so that it is aware that it may have missed messages.
When the application becomes connected again you - which the app will be informed about through the connection state functionality - you can query the source of your data to see if you have missed any information. This can be done by keeping track of the last message you received and sending that (or a unique message identifier) as part of the query.
The longer-term solution
We are aware that handling missed messages would add value to our product offering so automatically handling missed messages is on our product backlog for future development.