Paruyr Hayrikyan, head of the Union for National Self-Determination, was attacked in central Yerevan as he was heading home, police spokesman Achot Agaronian told the News.am press agency.
He was taken to hospital after being hit in the upper chest area.
A criminal probe was swiftly launched to find the gunman, police said.
Prime Minister Tigran Sarkisian and other politicians visited the presidential candidate in hospital.
"The attempt is a blow to our state, to the state institutions," Tigran Sarkisian told journalists.
"I spoke with Paruyr Hayrikyan, the doctors say his condition is satisfactory," said Ovik Abraamian, speaker of the Armenian parliament.
"I am sure that whoever committed this crime and the forces behind them will not destabilise the situation," he added.
Abraamian said that the upcoming presidential elections might be postponed until Hayrikyan is able to continue his campaign.
The presidential election is due to take place on February 18, with incumbent Serge Sarkissian expected to win.