A homemade bomb has been found in the hijacked truck used to kill four people and wound 15 others in Stockholm, according to Sky sources.
Other reports in Sweden say the attacker "burned" himself while trying and failing to detonate the device.
The head of the country's security agency, Anders Thornberg, would not confirm the find.
Soon after Friday's attack police released a photo of a suspect and a man who "matches the description" has now been detained over a "terrorist crime".
The man is reportedly a 39-year-old from Uzbekistan.
Sky sources say he is the attacker and that police were notified by the public of a man who was confused and acting strangely.
He was detained in the suburb of Marsta, not far from the capital's Arlanda airport.
Eight adults and one child remain in hospital after the attacker hijacked a beer truck and drove it through a crowd and into a department store.
Speaking of the attack, Sweden's Prime Minister Stefan Lofven said: "These kinds of actions will never succeed. We know that our enemies are these atrocious murderers and not each other.
"Our message will always be clear: you will not defeat us, you will not govern our lives, you will never, ever win."
Theresa May has spoken to Mr Lofven "to express her condolences and those of the British people for the terrible attack".
A Downing Street spokesperson said the Prime Minister "was clear that the UK stands firmly by Sweden's side, and they agreed on the importance of working together to tackle these threats, which we all continue to face".
Security at Swedish borders has been tightened and flags are being flown at half mast in a mark of respect to victims.
Sweden's king and queen have cut short a royal visit to Brazil and are expected to return home later on Saturday.
The brewery which owned the truck said a masked hijacker had stolen the vehicle as it made a beer delivery at a tapas restaurant. The delivery driver was unharmed.
It travelled down Drottninggatan - known in English as Queen Street - where pedestrians doing their shopping were sent running for their lives.
Glen Foran, an Australian tourist, said: "I turned around and saw a big truck coming towards me. It swerved from side to side. It didn't look out of control, it was trying to hit people."
The truck eventually crashed into the pillar of the Ahlens department store, where the bonnet started burning.
Late into the night, forensic police were collecting evidence from the stolen vehicle, which remains at the crash site.
Officers have said there was no indication an attack was imminent and no group has claimed responsibility for the attack.