It is, see:
Loading Skeleton Data - Spine Runtimes Guide: AttachmentLoader
You will need to create an attachment (or modify an existing attachment) to setup the rendererObject
and other settings (UVs, width, height) to draw from a different texture. The work you need to do is very similar to AtlasAttachmentLoader, so you can look at that source code to get an idea of what you need to do. After the AttachmentLoader, the skeleton data loader (SkeletonJson or SkeletonBinary) does a little more setup, some of which you may need:
https://github.com/EsotericSoftware/spine-runtimes/blob/4.0/spine-libgdx/spine-libgdx/src/com/esotericsoftware/spine/SkeletonJson.java#L362
Those two things (AtlasAttachmentLoader and SkeletonJson or SkeletonBinary) are all the code that creates a new attachment. You need to do the same, but configure the attachment for your own texture rather than from the same atlas the rest of the skeleton uses.
The rendererObject
depends on what game toolkit you use, so be sure to look at how the atlas attachment loader works for your game toolkit.