Well if you are talking about a casual game among friends, then the question and same answer should apply to any game you play together; there's not really any Dominion-specific answer.
For my play group, we do as much as we can to fix the mistake, as long as it is fixable. Meaning, if a person realized that they never took the Spoils , and they haven't even reshuffled their discard pile into the deck yet, then definitely let them go ahead and take it. If they have already shuffle, probably still let them take it and shuffle it into their deck. But maybe not if there are things that do deck-inspection in the game like
Rabble or
Mystic.
In a tournament game, the organizer of the tournament would need to decide on the rules to use. But I definitely think it should be up to all players to help enforce the rules as they go. Meaning, if I see you forget to take your Spoils, and I hope you just don't notice, then I'm basically cheating. So I should say something.
And if people are intentionally forgetting things, like not taking a Spoils because it would hurt their deck in the current situation, then they are cheating... if it's a casual game, just don't play with cheaters. If it's a tournament game, the organizer of the tournament needs to decide on how to enforce rules against cheating.