i think you have the wrong cap there.. or the gasket is shrunk and no longer seals.. Try cutting another gasket from a piece of rubber sheet and adding it to the gasket.
And it shouldn't rattle .. There is a little internal cap inside my gascap that is held in only by pressure.. a press-fit.. So my guess is your cap is falling apart inside due to being rusty and maybe banged around.
I pryed open a cap that was on a Kreemed tank.. the inside of the cap was packed with flakes of rust. The inside of a metal gas cap is a nearly perfect environment for rust development.
The inline filter might catch rust particles but it will not cure a clogged gas cap-vent. The tank has to be vented. Once you cure the leaking fuel/gasket/problem, the cap's tiny vent hole is all you will have..
imo, you need a new cap. Once you find one, break that one open and then tell me i was all wrong. :)