At present, Stack Exchange sites lock in a user's up/down vote, after 5 minutes, unless the post on which the vote is made changes in some way.
There is, however, no similar lock on accept votes. I definitely agree that there shouldn't be a barrier to accepting a new, better answer, but it seems to me that the ability to simply unaccept an answer in favor of nothing, with no other feedback, years after the fact is both not useful and even slightly detrimental to the site - now there's a years-old question without an accepted answer where there once was a question with an answer that was indicated as correct or working.
Given that there is a mechanism to track changes to a thread (the timeline on the question post), it certainly seems to me like there it would not be technically difficult to implement a system that locks accept votes after a grace period, unless a change to the thread occurs (like a new answer, or an edit to an existing answer, or whatever criteria are desired). I would also suggest that the grace period on changing an accept vote should probably be on the order of days (or longer), as it can take some time to verify an answer as the correct solution, but there ought to be one - the other examples of unaccepts-after-the-fact for no ostensible reason don't seem to be to anyone's benefit either.
The particular thread which prompted the question/request is here - after two years, the answer was unaccepted, with no indication as to why, and the only activity in between accepting the answer and unaccepting it was a couple upvotes over a year ago. As I said above, this seems to me like undesirable and completely not-useful behavior.