Infection is the most likely cause, sounds like a wild yeast to me.
Problem is its really hard to know without the beer in front of you.
There are other possibilities some are process related and often a problem flavour isn't just the one thing but a synergy of things that add up to a problem. If you are doing short or inadequate boils there might be some DMS which can throw some fruity flavours, add in a bit of Diacetyl and some grassy notes from using the wrong late hops and who knows how its going to taste to you. There in is the other rub, people taste smell and describe smells and tastes differently so its hard to get the right impression in writing.
If you have a good local home brew shop who know their stuff, or a club where hopefully you might find a couple of trained judges some independent appraisal might help pin down the problem.
I would do a major clean, right down to components - take everything apart - and go totally nuclear on everything.
Ideally use a different sanitiser, incase you have bugs that are tolerant to what you are using.
Then do a basic simple low everything beer like say a Coopers Pale Ale, use fresh yeast if you are a yeast farmer/recycler.
Do all the basics right, minimum 60 minute mash and boil, see if the off flavour is gone then build from there.
I would stick to a well known recipe where you have a fair notion where the beer will end up, rather than getting creative.
Luck hope its just a cleaning issue.
Mark