The striker squandered the opportunity to earn his side a point with a last-gasp spot kick, thus allowing the Yellow Submarine to draw to within four points of fourth place
Sergio Asenjo saved an injury-time penalty to earn Villarreal a crucial 2-1 win at Espanyol on Monday night.
The visiting goalkeeper flung himself to his right to keep out Sergio Garcia's spot kick after Gabriel Paulista had handled inside the area.
It could prove a vital stop for Villarreal come the end of the season as victory moved the Yellow Submarine to within four points of Athletic Bilbao, which occupies La Liga's fourth and final Champions League qualifying berth.
Villarreal took the lead in the 36th minute as Moises tapped home from close range following a pinpoint cross from Nahuel Leiva.
An away victory appeared a formality when Jeremy Perbet made it 2-0 five minutes after halftime, tucking home a rebound after Kiko Casilla had kept out Giovani dos Santos' initial effort.
Espanyol had other ideas, however, and Villarreal had to withstand a late barrage.
Substitute Jhon Cordoba pulled a goal back 12 minutes from time after being set up by Garcia, who then saw his firm penalty parried away by Asenjo, as Villarreal bounced back from consecutive league defeats.