I think the fuel cap leaking as to do with the duckbill valve not being fully seated. There is a star type retainer that is intended to hold the duckbill firmly against the cap to prevent fuel from coming out, if it gets shifted at all the valve doesn't seat and the cap will leak. Sometimes you find the duckbill and the retainer loose in the fuel tank, those really leak...
McMaster Carr has some retainers that are close enough to work, but are a pretty snug fit on the duckbill valve if I recall.
https://www.mcmaster.com/products/retainers/retaining-rings-2~/push-on-internal-retaining-rings/
Mark