NGUI widgets are standard mesh renderers under the hood, except they're batched together.
If you want to just put a sprite onto an existing renderer, then you would need to specify the atlas material and set UV coordinates to be that of the sprite. You can calculate the UV coordinates by finding the sprite using UIAtlas.GetSprite, then using its x, y, width and height divided by the texture's width and height. You may also need to flip the Y (y = 1 - y).