if you are using shared hosting one of the other sites sharing your ip address may have been placed on yahoos spam list.
Set up SPF and Domainkeys and sign all messages sent. If they absolutely need to be delivered, use something like Sailthru (google it).