I think in practice, in the US, any distinction here is about as meaningful as the distinction between a "sales representative" and "sales engineer", which is to say, not meaningful for anything other than perhaps feelings of self-worth. Outside of the US, there may be specific laws regarding who can be called an engineer.
Assuming the positions are at the same company, and in the same team, they probably have some internal distinctions, and one title or the other may have more prestige. I've seen "Quality Analyst", "QA Engineer", "Software Quality Engineer", "Software Test Engineer", and "Software Tester" used, in practice, to represent essentially the same job. Look at the job description to get a better idea (although job descriptions are usually not an exact match to actual responsibilities in practice, either).
Some companies invent titles so that their more senior people feel like they are making some sort of career progression. At one large company I worked for, a software design engineer in test who had contributed a great deal to the test infrastructure for the team wanted to "do more thinking, and a little less coding", so the group manager changed his title to "test architect." His responsibilities changed a little bit, but his mentality about what his role was and how he should think about building tools changed a lot more. The cost to the company for this change approached zero dollars (I think it came around review time, so he had a raise coming anyway).