I would call our project fairly agile (although not SCRUM by the book for various reasons, but reasonably close, and improving - of course, whether it is agile "truly" enough, can be debated by methodology purists ;-) Anyway, we do have a BA, and I am happy about it.
It is an in-house legacy web app, used by thousands of agents in dozens of countries. The requirements are pouring in from many country representatives, and since each country inside our corporation has their own budget and agenda, prioritizating tasks is not a simple issue, I believe there is a lot of managerial negotiations behind (of which luckily I don't sense anything). So we don't have a dedicated product owner - practically our tech lead plays the role as much as it is needed. Which is not very much, since the app has been brought back from terminally ill status by our team and is still shaky, so the larger part of our work is bug fixing, refactoring and other tasks to stabilize and clean up things.
Our BA has been working at the counter for a couple of years, also with the back-end system our app depends on, so he knows more about the inner workings of these beasts, and also the processes used on the field, than any of us developers. This is especially important since there is very little written documentation, let alone specification of what our app is supposed to do. Often we have trouble figuring out whether the particular behaviour of the code is a bug or a feature.
So he helps us identifying bugs, moreover does a lot of requirements gathering, squeezing bits of info out of various country representatives. He also does testing and verification for us. We would definitely have a hard time without him.