Calgary's Kavin Rubletz is charged with second-degree murder in the death of Jessica Rae Newman.
Newman, 24, was last seen on March 10 in the Forest Lawn community of southeast Calgary.
A work crew discovered the body of the mother of three in a ditch in the area of Range Road 285 and Township Road 264 on May 4.
Rubletz, 30, is charged with second-degree murder, police announced on Saturday morning. He is scheduled to appear in court on Monday.
In April, Det. Dave Sweet with the Calgary police homicide unit issued a public request for anyone who had knowledge of Newman's whereabouts to come forward.
"Jessica's case is not going away," Sweet wrote. "My best advice to you is to do what is right and contact police."