Paddocks,Martin Motors,Famous Four,Rimmers, all the normal places sell the seal, about £2. I would buy a new cap as it will be a better seal and it is not very expensive.
Check that your breather hoses are not brittle, split or have come undone, this can also be the cause as well.