Sadly, there's a problem with the concept of "update available" since there is no one server with a truth to which version of an app is live. Even if you check the version on your device and what the "store" says online or in iTunes - there can be short periods (think an hour or two typically) of disconnect where your device doesn't "pull" the update.
Apple maintains a fleet of servers (like a CDN - content delivery network) across multiple geographic regions to handle the update requests of literally millions of devices. So, even if you were to snoop on the traffic between your one device and the server you were selected to connect to by the technology that directs a request for one resource to the actual server that will answer that request you might find that the problem you describe is that the server you connect to doesn't have the "updated" app yet so you no longer see it.
Over a 8 hour time window, I've rarely seen apps get pulled once they are started to propagate, but I do two things to help manage this that require some setup, but make updating far better at avoiding the situation you describe:
- Set up MDM so I have profiles that collect installed app details from all my devices. This costs money, so many people won't do this for small deployments.
- Set up OS X Caching Server
There are some nice articles on Caching Server but in essence, your local Mac becomes part of Apple's CDN and you can download apps from your own private store. Yes, one update still has to go out to Apple's servers and download the initial asset, but once it's local, all other requests are very much accelerated. It also speeds up iCloud data, Mac App store and anecdotally - I seem to get updates and app updates faster when I'm using caching server than if I were to go on LTE and check an update directly to Apple.
I have a Mac Mini and dedicate an external 1 TB drive to store caching data but even if you had a modest 200 GB cache, most app updates would be much faster.