"We were penalized by an error by the referee who disallowed Shevchenko's goal," Milan's official website quoted coach Carlo Ancelotti as saying after Wednesday's goalless draw.
"I can't understand how he could do such a mistake in a delicate game like that. Qualification was always in the balance and it was decided by this episode."
Down 1-0 from the first leg at home, Milan appeared to be tying the aggregate score when Shevchenko rose over Barca captain Carles Puyol to head past keeper Vector Valdez.
But the German referee, who officiated the Champions League final match in 2004 when Milan beat compatriots Juventus to win the title, disallowed the goal for an alleged push on the Spanish defender.
Milan vice president Adriano Galliani was also left unhappy with the referee's performance.
"Too bad everything was decided by a refereeing error when Andrei Shevchenko's goal was disallowed," said Galliani. "Also the final whistle was blown before the three minutes of added time were up."
Despite his bitterness, Ancelotti, who guided Milan to their third Champions League semis in four years, praised his players for their strong display at the Nou Camp.
"There's a lot of disappointment because this team deserve more than a semi-final, we give it everything with personality and courage as great sides do," he said.
"We played well especially in the second half, it was a great performance, we left the Camp Nou with our heads held high."