I voted yes. But I tend to lean more towards Brice's point of view.
I think its (being a hero) a status that can be attained within a certain situation, and in relation to
that moment in
that situation, you'll always be a hero - but the person you carry on being (ie, yourself) once that moment has passed may or may not ever be heroic again.
For example, a man may be dishonest and generally disliked. He joins the army and is called up to fight in a war. In the war he risks his life to rescue a fallen comrade and is subsequently honoured by the army for being a hero.
Once he goes back to civilian life, he carries on as he was before. He
has been a hero, but no-one around him would consider him to
be one.
Thats how I see it
Other than that, if you are going to only view heroes as people without flaws, then no-one has ever really been a hero - or ever will be. Even the heroes of history and mythology were often selfish, unlikeable or downright nasty off the battlefield.
Hero is not a day to day term, therefore I think exceptions of someones day to day personas should be made when bestowing the title.