While it limits recruitment from outside the EU, it has "stimulated recruitment" from EU countries, the home affairs select committee said.
Net migration rose by 30% in the year to June, to 336,000 - more than three times David Cameron's intended target.
The PM has said he will not abandon his aim to reduce the figure to 100,000.
Under the immigration cap, introduced in 2011, the number of "tier 2" visas issued to skilled workers from non-EU countries is limited to 20,700 a year.
But a report by the select committee concluded the limit had been "counter-productive".
It added that "a large number" of applications from nurses with job offers in the UK were being rejected because of limits on the number of visas issued each month.
Committee chairman Keith Vaz said the government's immigration cap was having "no effect" on bringing down net migration - the difference between those coming into the country and those going out each year - but "could have caused a crisis in the NHS this winter".
He said: "When the cap was reached earlier this year, we saw the perverse effects of the system, as the cap prioritises higher-paid jobs.
"In June, nurses were being prevented from working in the UK, which necessitated the government taking emergency measures to allow recruitment to continue.
"Whilst this was a very welcome move, it is clear to see that the system could have caused a crisis in the NHS this winter.
"A system which encourages panicked adjustments to be functional is not fit for purpose. Nurses should remain on the shortage occupation list."
A total of 641,000 people moved to the UK in 2014, the Office for National Statistics said.
The government's immigration cap on skilled workers has had no effect on bringing down net migration and is not "fit for purpose", MPs say.