You don't have to, but it couldn't hurt to reestimate it whenever any changes happen. That way your story estimates more accurately reflect the work you need to do and allow you to either slot something else in if story scope got reduced or guide you to drop something if the story scope got enlarged.
If your story is now smaller in scope, you should also create a new story (or several) to capture the requirements that were dropped out of the acceptance criteria and estimate that new story accordingly.
The team I'm on does more or less the above. If we discover that the story as written turns out to be too large to be reasonably completed, we split out work that can stand on its own into a new story.
We don't always re-estimate the old story, though. It depends on how far we're into the work and what the remaining scope is. Sometimes it turns out that we are still doing the lion's share of the work and while the story might not be worth 8 points any more, it's still too big to be a 5-point story.
(We rarely have stories bigger than a 3 scheduled for an iteration, but I'm trying to use the numbers given in the question for some context.)
The new story always gets a new estimate. Stories that aren't done by the end of an iteration completed for whatever reason and cannot be split end up "rolled over" into another iteration and we re-estimate them at that point to account for the reduction in scope thanks to work already done (if any).