Mr Cameron also said the case in Northern Ireland was different from elsewhere in the UK because of the land border with the Republic of Ireland.
The prime minister was giving evidence to MPs who chair a range of committees at the House of Commons.
He would not say if he would definitely devolve corporation tax powers.
He repeated that people must wait for the chancellor's autumn statement due to take place early next month.
The current rate of corporation tax paid by businesses in Northern Ireland is 21%, compared to 12.5% in the Republic of Ireland.
The Northern Ireland Executive wants to be able to match the tax rate in the Republic.
Asked by the Northern Ireland Affairs Committee chair about whether corporation tax devolution depends on Stormont politicians resolving their budget problems, Mr Cameron said that the two issues were linked.
He said that it is difficult to argue the executive should get more responsibility in tax powers if it cannot sort out its current budget.
The prime minister said any future devolution of corporation tax was also linked to the tax regime south of the Irish border.
He referred to businesses benefiting from tax arrangements nicknamed the "double Irish" and therefore paying only 2% tax on their profits.
Mr Cameron said he was working to sort the issue out through international tax agreements and if 20% tax means 20% tax in the UK, then 12% tax should mean 12% tax in the Republic of Ireland.
Mr Cameron also faced questions about the Barnett formula which governs the funding of the devolved nations.
The prime minister told MPs he did not think the reform of the Barnett formula was "on the horizon".
The formula is used to set spending in Scotland, Wales and Northern Ireland.
Welsh politicians have been strongly critical of the Barnett formula, which they believe gives Wales a poor financial deal.
The formula currently benefits Northern Ireland and Scotland to a greater extent.
The prime minister has said the argument made by Northern Ireland politicians for devolving corporation tax is strong.