If you are using django-tagging, you can add tags with spaces by either putting quotes around the tag or using commas to separate the tags. It makes sense in the context of adding multiple tags, but I think it works the same for individual tags too.
Note: The following code is untested
Tag.objects.add_tag(obj, '"banana split"')
Tag.objects.add_tag(obj, 'banana split,')