"We will be forced to aim our armed forces ... at those territories from where the threat comes," Putin said.
Putin made his comments a day after Russian officials denounced a U.S. plan to station tanks and heavy weapons in NATO member states on Russia's border. Putin said it was the most aggressive act by Washington since the Cold War a generation ago.
U.S. Secretary of State John Kerry expressed concern over Putin's missile announcement and said no one wanted to see backsliding "to a kind of a Cold War status."
Kerry told reporters at a news briefing that Putin's stance could be posturing but he added, "Nobody should hear that kind of announcement from a leader of a powerful country and not be concerned about what the implications are."
Tension has flared anew between Russia and Western powers over Moscow's role in the Ukraine crisis, in which pro-Russian separatist forces have seized a large part of the country's east after Russia annexed Crimea from Ukraine in early 2014.
The European Union and United States imposed economic sanctions on Russia. But Washington and Moscow are still bound by a 2010 Strategic Arms Reduction Treaty (START) that caps deployed strategic nuclear warheads at 1,550 each and limits the numbers of strategic nuclear missile launchers to 800 by 2018.
"More than 40 new intercontinental ballistic missiles able to overcome even the most technically advanced anti-missile defense systems will be added to the make-up of the nuclear arsenal this year," Putin, flanked by army officers, said in a speech at an arms fair west of Moscow.
ICBMs have a minimum range of more than 5,500 km (3,400 miles). Putin gave no more details of which missiles were being added to the nuclear arsenal.
Putin said later on Tuesday that Russia wanted Ukraine to repay the $3 billion bailout bond under former Ukrainian President Viktor Yanukovych according to an agreed repayment schedule.
Putin said he thought the Minsk peace deal on Ukraine was balanced and fair and that if Russia did not agree with its contents it would not have signed it.