No, it is not possible to change anything about any commit.
The reason is that the commit's identity is its hash ID, and its hash ID is a cryptographic checksum of its content. So if you do manage to change its content, you have a new and different commit.
There's nothing wrong with that—you can say: Hey everybody, forget about commit badf00d
, use my fixed-up commit whose ID is cafedad
. But you didn't change the commit, you just made a new improved one instead.
The drawback here is that someone might be building stuff on the old, wrong commit. They'll have to do something to switch to building their stuff on the new improved commit. That's not hard, but it's mildly annoying. It's easier to leave the old, wrong commit in and simply put a corrected commit in afterward: Hey everybody, commit badf00d
has a bug, it's fixed in the follow-up commit f100ded
. That particular work-flow—picking up new commits that add on to existing ones—is something everyone must be able to do at all times, so it's easier.
The choice (of whether to force others to switch) is yours.
(If your interest is in the mechanics, of how to accomplish these various actions—telling people to forget about the bad commit in favor of the good one, in particular—that's a different question. But it's already answered here on StackOverflow.)