Ukrainian President Petro Poroshenko blamed Russia for what he said was a "cunning murder".
Kiev police chief Andriy Kryshchenko confirmed in televised comments that "the identity of the dead man has been established" as former Communist lawmaker Denis Voronenkov.
Police were weighing the possibility that Voronenkov was targeted in a contract killing "considering the identity of the victim, his activities and how the crime was carried out," Kryshchenko said.
Ukrainian President Petro Poroshenko blamed Russia for what he said was a "cunning murder", saying Voronenkov's killing was an "act of state terrorism", his spokesman Svyatoslav Tsegolko wrote on Facebook.
Kremlin spokesman Dmitry Peskov swiftly dismissed Kiev's accusations as "absurd" in comments to Russian news agencies.
Voronenkov's bodyguard and the gunman were both injured in the shootout and were being treated in hospital, Kryshchenko said, adding that the gunman's identity had yet to be established.
The shooting occurred at around 11:30 am (0930 GMT) in the centre of the Ukrainian capital, police said.
Voronenkov and his wife Maria Maksakova, also a former lawmaker and a well-known opera singer, left Russia for Ukraine last year.
Voronenkov received Ukrainian citizenship in December after he testified against Ukraine's ex-President Viktor Yanukovych, who was ousted in February 2014 amid pro-Western protests.
Voronenkov told Ukrainian media in February that he had repeatedly received threats from Russian security services.
Moscow and Kiev have been locked in a bitter dispute since Russia seized Crimea in March 2014, plunging ties between Moscow and the West to their lowest point since the Cold War.