>>>Are there any TV comms specialists who may know what is causing this
Freeview channels are transmitted in 'bundles' (called 'multiplexes') with each multiplex using a different channel. Theoretically you should a different aerial on your roof for each multiplex because the elements of each aerial should be exactly the right length to 'resonate' with the incoming frequency that it's designed to receive.
Obviously having dozens of aerials on your roof is impractical, so we all use aerials that are only a 'rough match' to each of the frequencies. That inevitably means that any particular aerial will be better at receiving some multiplexes than others. (Yours clearly resonates poorly with the frequency used by the multiplex containing the missing channels).
The strength of signals received by your TV aerial don't remain constant. They're affected by atmospheric pressure, weather conditions, the 11-year sunspot cycle, individual flares on the surface of the sun, interference from other radio transmitters, interference from your own electrical equipment (such as TVs, computers, monitors, printers, etc), interference from your neighbours' electrical equipment, and many other things. Your aerial is good enough to 'pull in' signals from the relevant multiplex when conditions are good but can't cope when conditions are poor.
>>>and how to rectify the situation?
Theoretically you should be considering replacing your TV aerial (and its associated cabling) but, in practice, a signal booster will almost certainly solve the problem. Most large supermarkets (such as Tesco and Asda) sell them for around a tenner but this model, from Maplin, offers more 'gain':
http://www.maplin.co.uk/1-way-aerial-amplifier-223504