If you put:
if(!isset($release['version_major'])) {
die('<pre>'.print_r($project, TRUE).'</pre>');
}
On line 625 of update.compare.inc then when the version_major is not set it will print out details of the problem module and die.
Once you know what module is causing the problem then remove this code again as otherwise kittens may diekittens may die.
When you know what module is causing the issue then you can raise the problem in their issue queue.