Your right - checked Asda and Tesco with no luck. I'll try Woolworths tomorrow. If that fails I'll pop in the dealership.
Try Rimmerbros
Land Rover Oil Filler Cap - Genuine Land Rover at www.rimmerbros.co.uk
ERR5218 £6.95 + VAT
(No connection to them)
Cap-Oil Filler - Yellow - Genuine Land Rover at www.rimmerbros.co.uk
It is now STC3699 looks like it has been superceded since my version of MicroCAT...
Link above to Rimmers - I have no affiliation....