I recently lost my contractor job after my project budget was cancelled. Two colleagues highly recommended me for another project in the company.
At a hiring meeting for the new project, someone overheard a mid-level manager say I was unreliable and once didn’t finish an assignment. However, this is untrue. I never reported to that person and was never given an assignment by them. Unfortunately the hiring managers listen closely to the person saying untrue things about me and that may have cost me a job.
What can I do? Losing a job opportunity in this economy is a big deal and someone is smearing my name. Should I call the company’s HR department or a lawyer? Should I approach the ex-coworker and ask why they said those things about me (this could get the person who told me what was said in trouble)

You should ask for a meeting with the person who made these claims. If they are true, they must have some documentation to support their assertions. Ask to see this documentation along with any other supporting documents.
I wouldn’t go in there with guns blazing until you have all the facts in front of you.