The main way to get a proper personalised one like that would be through the Arsenal site or by buying it at the Armoury (Arsenal shop by the stadium) and getting it done there.
It's £49.99 on the
Arsenal site. Just select the Nasri option, part way down.
You can probably find the shirt cheaper online/in store somewhere and take it to the Armoury, but unless you're going there for a game/live or work nearby anyway, the travel costs may well cancel out any money saved and the general hassle isn't worth it to save no more than a couple of quid. You will be able to find printers that'll do it cheaper, but unless it's a proper sports printer, I doubt that you'll be able to get authentic numbering/lettering. Only places that sell kits for local sunday league teams as well as the standard stuff will have these printing facilities, though, and without a good knowledge of what there is in your local area, I doubt you'll find somewhere like this.
I imagine a lot of places will sell a range of pre-printed personalised ones, but they won't have every player. Just looked on
sportsdirect, a fairly well known store - the kit is £25 alone, but they offer Arshavin/Walcott/Van Persie personalisations for £30.
You can look around online and try and find a few more sports stores if you like, somewhere might have Nasri as a pre-printed option, can't guarantee it though.
Dunno if you've already spoken to him about it and he's said he definitely wants Nasri on the back, if not, you'd probably be better off saving £20-25 and getting one of the others, or getting it plain (which he may prefer to other players). It'll leave you a bit of money to either keep for yourself, get your man something else or perhaps take him out for dinner/do something with him you otherwise wouldn't have done.