Police arrested Harris, 41, Monday night at the Winnebago County Jail, where he was being held on unrelated charges, Area North Commander Kevin Duffin said. Harris was charged with first degree murder Tuesday night.
Police said Knox was under Harris's care at the time of his death, and that they believe Harris snapped when the toddler was crying because he is lactose intolerant.
A year ago, the FBI positively matched Knox's DNA with that of a dismembered body found in the lagoon in September 2015 two weeks before he was reported missing. Knox had been reported missing from Rockford, Ill., two months before the match was made.
Knox's mother told police her son was staying with Harris and his girlfriend while she moved from Rockford to Iowa. In November 2015, police said Harris and his girlfriend had been uncooperative with the investigation.
"We have physical evidence in the form of biological evidence recovered from a vehicle. We took a vehicle that the suspect was driving primarily back in November of last year, executed a search warrant, recovered the baby's blood," Duffin said.
While police believe Knox was killed in Rockford, Duffin said that due to where his body was found and the extensive work by Chicago police on the case, Harris would be charged in Cook County.
Chicago Police Superintendent Eddie Johnson praised the "meticulous" work of Chicago police on the case, and their dedication to finding Knox's killer even when it seemed the case had gone cold.