TL;DR
In Scrum, it's often more useful to ask "Who is working on a given story right now?" than it is to think of task or story owners. However, some Scrum teams do use per-person pull-queues or assign stories to team members who then "shepherd" the story through its various phases within the sprint.
While collective ownership is an underlying principle, it's not actually a framework requirement. Whether or not items have owners is therefore up to the team; the important thing is that "owners" not be assigned from outside the team. Allowing the team to self-organize is an essential component of an effective Scrum team.
Be Introspective and Creative
Ask yourself (and your team) a couple of questions about your process before you go any further. For example:
- What does ownership of a story or task mean within your organization and within your team?
- What custodial information about a story or task does your team actually need or want to track?
- Can the tool you're using track and report that information is a useful way for the team?
You may be surprised to learn that you don't need to track this information in TFS at all. Or, if you do, perhaps your team already has some different ideas about the best way to leverage TFS to do what they need. If nothing else, learning whether the tool you're using is a good fit for the team's real process is always a constructive exercise.
Story "Ownership"
A task is assigned to a developer, but, within TFS, who should the user story be assigned to? I don't think it's the developer, as numerous developers can be working on the same user story, but assigned the tasks.
As you have already correctly surmised, in Scrum a story is owned by the entire team, rather than any member of the team. Tasks, too, should be collectively owned.
Despite being collectively owned, it's often useful to have stories and tasks list the names of the folks who are currently working on them so that team members can coordinate with one another. So, if TFS supports it, I'd recommend having team members tag items as "owned" by them whenever the items are pulled into their individual queues. As TFS 2012 seems somewhat limited in its ability to communicate about concurrent or sequential ownership of a task, you might need to leverage other fields or features to effectively radiate custodial information during a sprint.
Some teams can certainly manage within the product's limitations, but some can't. If your specific work-flow isn't supported by the TFS feature set, please don't contort your work-flow to fit within the tool.