You can paint your texture in an image-editing program like Krita or Photoshop, but you may be able to use Blender instead. You can add a lot of detail within Blender using a combination of the UV/Image Editor and Texture Paint mode in the 3D View.
Start from the UV Editing screen layout.
Image painting in the UV/Image Editor
Probably the quickest and easiest way to start painting is to hop right into the UV/Image Editor and enable Painting mode from the Editing Context drop-down menu in the UV/Image Editor's header. The Tool Shelf (T) of the UV/Image Editor updates with a set of paint tools you can use.
Using Texture Paint mode
On some models, the disconnect between painting on the image and seeing the result on the mesh is disorienting. Predicting how the texture will ultimately lay on the mesh is sometimes too difficult. In these cases, painting directly in the 3D View is often easier:
For painting in the 3D View with Blender Internal, use the Multitexture Shading style, which you can set from the 3D View's Properties region in the Display panel. Although you don't see the lighting results that you get when using GLSL, the texture colors are more vibrant and close to what you're actually painting.
If you're rendering with Cycles, all you have is the Multitexture appearance.
If the model has been vertex painted, those faces should still be hidden. If not, you can hide them in exactly the same way you would when vertex painting. You can leave Painting mode active in the UV/Image Editor and Texture Paint active in the 3D View at the same time. Then you can switch between painting on the image and painting on the mesh, depending on your specific needs.