It's a signal strength problem.
Fact 1:
Different receiving devices (whether they be Freeview boxes, TVs, PVRs or whatever else) have different 'sensitivities'. (i.e. their abilities to handle weak signals). So it's not surprising when one device doesn't perform as well as another.
Fact 2:
In an ideal world, the length of the elements of a TV aerial should be exactly calculated in order to ensure that they will 'resonate' with the incoming frequency. Since 'bundles' of Freeview channels (called 'multiplexes') are each broadcast on different frequencies, you theoretically need a different aerial for each 'bundle'. Since that's clearly impractical, your aerial will be a better match to some bundles of channels than to others. (So it unsurprising when only certain channels disappear).
Fact 3:
An aerial fitter would almost certainly tell you that you need to install a better aerial but (fortunately) . . .
Fact 4:
The vast majority of problems such as yours can be fixed by using a cheap signal booster (for about a tenner from any big supermarket).
Chris