You don't want to hear this, but you are probably SOL. When I first got my boat, I stupidly thought the chain was meant to keep the cap on the boat, but it had other ideas. I searched high and low and never found a replacement. There is a fine thread cap made by ABI or somebody, but it didn't fit my fill (however it the fit the fill of another Ericson). I ended up replacing the whole fill, which was a pain, but worth it because the new ones do a much better job of keeping out the water.
Can you take a cap from one of your water tanks (and use tape or a cork on the water tank) as a short term solution?