It doesn't need to be a flat object to use tangent space normals. Tangent space normals just use the normal map in a way that modifies the underlying normal instead of overriding it entirely.
There are some comparison images and more information on the subject here: http://wiki.polycount.com/wiki/Normal_M ... al_Details
To tell the game that you're trying to use a tangent space normal map, use the version of the shader without "obj" in it. So in your case you should use "cubemapitem" instead of "cubemapobjitem".