I have had similar experience, and with me it turned out to be:
1) The google results in my country's version google.co.in were not updated. I think the results on google.com were up to date with the cache. If you are not already on google.com but your country specific version, do check the .com version (on main google page, there would be link go to google.com).
2) Once there was a confusion because I think google cache loads javascripts directly from the website (not cached) and hence I was seeing some instant changes on the cached page. Again I don't remember exactly and this definitely doesn't look like the case with you.
Honestly I didn't bother much as its only a matter of time before the results should be updated - but ya, I was surprised too.