Everton struggled to create clear-cut chances despite having much of the possession, and the game was settled in first-half stoppage time.
A Leighton Baines mistake allowed Sunderland the chance to attack, and Stephane Sessegnon fired home low from the edge of the area.
The defeat left Everton five points behind Chelsea in fourth, and the west London side have two games in hand on Moyes' men.
"I don't think we can qualify now," Moyes admitted.
"We had to keep winning and keep on going, and even if we did keep on winning we would still have been outsiders.
"This defeat means we have to put an end to all that.
"We can just keep winning games and who knows. We will try and finish in a Europa League position."