I had a lot of trouble getting the quest fish to drop when I first started. And here's what I finally figured out: no matter where you think you are...snow biome, Hallow, ocean etc...you need to pay very close attention to the
color of the water you are fishing in. It's based on where you are standing when you cast. A few steps to the left or right, up or down can change the biome completely. For example, for the longest time I was trying to catch a fish that needed a snow biome, surface area to be caught. I thought I had all the right conditions: Large lake to fish in....check. Snowing in the background, obviously a snow biome....check. Decent bait, decent fishing rod...check. Depth was...well, the surface...check. I fished for nearly an hour before just giving up. This was occurring with a few other quest fish and was making the whole situation frustrating beyond belief. What the quest giver doesn't tell you is that sometimes the biome he wants the fish out of must be free of corruption, crimson, and hallow. All of which run pretty rampant after activating hardmode.
I had a thought after that, I'd just bought a whole set of water fountains from the witch doctor (fancy!). Each one when you turn them on correspond to the color of the biome water they represent. Take a look for yourself
http://terraria.wiki.gg/Fountain . Using that as a guide, I discovered I was attempting to fish up my snow biome, surface quest fish out of corrupted water. It was definitely purple, not the clear ice blue of snow biome/forest waters that the quest giver was secretly wanting /le sigh. The clentaminator works well to clear up these issues. Get the solution you need and use it on the area you need to fish in to change the water to the color needed for the quest fish
http://terraria.wiki.gg/Clentaminator and
http://terraria.wiki.gg/Solution . Or if worse comes to worse, use a bunch of purification powders from the Dryad
http://terraria.wiki.gg/Thrown_Powder . After paying close attention to the color of the water I'm trying to get the quest fish out of, in addition to following the depth guidelines, making sure I get it caught and turned in before 4:30 am reset, and even with the crappiest gear/pole/bait/body of water...it never took more than 5 minutes to catch a quest fish again. Here's another guide that specifically lists the background biomes needed for quest fish
http://terraria.wiki.gg/Fishing .
Also fyi, you may not be able to hold more than one quest fish in your inventory at once, but you sure can toss unlimited ones into chests or better yet the Money Trough if you have one
http://terraria.wiki.gg/Money_Trough . Stock up on a few and the next time the quest guy asks for that particular quest fish you'll already have it...EZPZ and take the day off
Good luck all!