Ebay - or you can be really cheeky and go to a garage and say you think you left it there. They have boxes of petrol caps people have left behind - you may strike lucky - my OH did!
I lost mine, and tried all the ones at the garage and non fitted!! Ended up getting one from from a place in Preston Lancs - can dig out the no. later it was £18 inc VAT - sure they would post one to you? I spend weeks ringing round scrap yards and looking on ebay!
Thought of you yesterday - was in Halfords last night they had ones for a £1. Not sure if it would fit a lorry. Could get you one and post if you like?