The poll comes amid rising speculation that Prime Minister Pedro Sanchez will call a snap general election this year.
His ruling Socialist Party would be unable to stay in power, even though it came in first place with 22.6 percent of the vote, down from 26.3 percent in July, according to the survey published in El Mundo.
That would give it just 92-96 seats in 350-member parliament. Even if it joined forces with far-left party Podemos and tiny Catalan and Basque nationalist parties it would not be able to form a majority.
Sanchez came to power in June after a surprise no-confidence vote against his conservative predecessor with the support of these parties but this coalition would now only have a maximum of 167 seats, according to the poll conducted by Sigma Dos.
His government is struggling to approve a draft budget for 2019, sparking expectations of a snap national election in 2019.
Vox, which clinched a surprise 12 seats in a regional election in Andalusia last month, would capture 13 percent of the vote.
– Opposition to migrant surge –
The last Sigma Dos survey carried out in July did not give Vox enough support to win seats in parliament.
In the survey published Wednesday the conservative Popular Party (PP) was second with 19.2 percent support while centre-right Ciudadanos was third at 18.8 percent.
If the PP, Ciudadanos and Vox joined forces they would have an absolute majority in parliament of as much as 189 seats.
The telephone poll of 1,000 eligible voters was carried out December 21-27.
It is the first survey of voting intentions to be published this year.
Vox's performance in Andalusia last month was the first time that a far-right party has won representation in a Spanish regional parliament since the country returned to democracy following the death of longtime dictator Francisco Franco in 1975.
The party, formed in late 2013 and led by former PP member Santiago Abascal, was energised by its tough opposition to Sanchez's handling of Catalonia's separatist push and a surge in the arrival of migrants.
The PP and Ciudadanos reached an agreement last week to form a government in Andalusia, and are now negotiating to get the support of Vox, setting up the end of 36 years of Socialist rule in Spain's most populous region.
The three parties have a majority in the regional parliament of Andalusia.