HTTP request status fails, but update checking works manually
This is most likely caused by an old issue, a time-out of 5 seconds which is easily exceeded when checking for updates via poor-man's cron on sites with more than a few modules. See this issue.

Easiest solution is probably to use real cron jobs if possible to avoid this altogether, although there are other suggestions on the linked site. Drupal 7.28 finally increased the limit to 30 seconds, in many cases this might suffice. However it may lead to a page load slow-down, so imho it's better to avoid poor man's cron.