Captain America has a flaw. He is weakened by the loss of all he had in the past... Friends, loved ones. He doesn't embrace all that strength he has in his present time, until needed in battle. This lack of happiness with life is why he isn't worthy to lift Thor's hammer. The only reason he could make it move at all was because he got a kick at the thought of trying. Yet, he is still sad in his heart, wishing he was in another time. When he finally allows himself to feel the love of the Avengers and accepts his lot in life, embraces it with zest for life and still be a hero, then he will be worthy.
Don't forget how larger than life Thor is. He was worthy with laughter and a wild side. He lost his worthiness when he was sent to Earth and had his worthiness been based solely on being a hero, he could have lifted it after rescuing the journal from the hammer site. It would have found him sooner. He needed love in his heart to move away from sadness of what he had in his past, and be able to stand up and fight evil. Living as a hero isn't enough. It takes faith, hope and love. Thor has an abundance of all three. Makes him worthy. He had faith in humans. He loved them also. He could forgive his brother and trust in him when no one else could. Big heart, zest for life, ready to fight evil, that is why he is worthy.