I found a bug in Hyper Cache - it affects https enabled pages on a site. We have few of these and in the hyper_cache_invalidate_post() function, the protocol type is stripped incorreclty (just substr()), so we get a wrong md5.
cache.php constructs the md5 differently.
So the cached file is never cleared when the page is saved.
As a quick fix, I changed hyper_cache_invalidate_post() to strip the protocol part of URI with a regex, rather than a set number of chars - https:// is longer than http://
$link = substr($link, 7);
was replaced with
$link = preg_replace( '~^.*?://~', '', $link );