I am a South African travelling to Toronto, I have a visa for Canada but my flight back is from Toronto to Washington DC Dulles international airport onward to OR Tambo in Johannesburg. Do I need another visa ?
Yes, you will need a transit or C visa for the United States.
According to the Department of State (emphasis mine):
Generally, a citizen of a foreign country who wishes to enter the United States must first obtain a visa, either a nonimmigrant visa for temporary stay, or an immigrant visa for permanent residence. Transit (C) visas are nonimmigrant visas for persons traveling in immediate and continuous transit through the United States enroute to another country, with few exceptions.
If you already have a valid visitor (B) visa, you may be able to use it to transit the United States. If you are a citizen of a participating country, you may be able to transit the United States on the Visa Waiver Program.
South Africa isn't on the VWP list, so unless you happen to have a B type visa (tourism) you need to apply for a transit visa.