Spain's ruling Socialists have narrowed the gap but continue to trail the conservative People's Party, who would need to team up with the far-right Vox party to secure a majority of seats in parliament, pollsters say with three weeks to go before the country's general election.