Detectives had feared that the prime suspect in the case, Christian Brueckner, may have moved Maddie from Praia da Luz to Germany.
But German prosecutor Hans Christian Wolters does not believe this is the case.
Asked where he believes she was killed, he replied “in Portugal".
"I am optimistic we will solve this case,” he told the Sunday Mirror.
Brueckner, 43, is currently serving a prison sentence for the rape of a 72-year-old American woman in Portugal.
Maddie was three when she was abducted from a holiday apartment in 2007. She would have turned 18 this week.
Investigators dug up Brueckner’s allotment in Hanover while searching for her body last year.
However, Mr Wolters doesn’t believe Brueckner buried her in an allotment.
“Since Christian B did not have the allotment at the time of Maddie’s disappearance, he could not have buried a body there,” he said.
In November of last year, Brueckner was treated in hospital after suffering two broken ribs in a court incident before returning for a hearing the same day, according to authorities.
Brueckner – referred to as Christian B in Germany due to the country’s strict privacy laws – was identified as a murder suspect in the Madeleine McCann investigation last June.
Mr Wolters has previously said investigators have “concrete evidence”, but not “forensic evidence”, that he killed her, and prosecutors do not have enough evidence to charge him.
The Metropolitan Police maintain their active investigation into Madeleine’s disappearance, Operation Grange, is a missing person inquiry as there is no “definitive evidence whether she is alive or dead”.
Brueckner’s lawyer Friedrich Fulscher insists the German was not involved in Madeleine's disappearance.
Watch: Video of suspect before McCann disappearance